﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Rung.Soft.Jx3Tookit.Business
{
    public static class StaticFunction
    {
        /// <summary>
        /// 将插件所需的自定义文件转换为完整路径格式（主程序目录\UserData\插件名称\文件名称）。
        /// </summary>
        /// <param name="addonName">插件名称</param>
        /// <param name="fileName">用户自定义文件名称</param>
        public static string GetUserFileFullName(string addonName, string fileName)
        {
            return Path.Combine(ConstValue.UserDataFolder, addonName, fileName);
        }

        /// <summary>
        /// 检查指定插件的用户自定义文件是否存在。
        /// </summary>
        /// <param name="addonName">插件名称</param>
        /// <param name="fileName">用户自定义文件名称</param>
        public static bool IsUserFileExist(string addonName, string fileName)
        {
            string fileFullName = GetUserFileFullName(addonName, fileName);
            return File.Exists(fileFullName);
        }

        /// <summary>
        /// 创建指定插件的用户自定义文件。
        /// 若该文件已存在，则弹出异常。
        /// </summary>
        /// <param name="addonName">插件名称</param>
        /// <param name="fileName">用户自定义文件名称</param>
        public static void CreateUserFile(string addonName, string fileName)
        {
            string fileFullName = GetUserFileFullName(addonName, fileName);

            if(File.Exists(fileFullName))
                throw(new Exception(string.Format("用户文件“{0}”已存在。", fileName)));

            throw (new Exception("该方法还没完成~~~~~"));
        }

        /// <summary>
        /// 删除指定插件的用户自定义文件。
        /// </summary>
        /// <param name="addonName">插件名称</param>
        /// <param name="fileName">用户自定义文件名称</param>
        public static void DeleteUserFile(string addonName, string fileName)
        {
            string fileFullName = GetUserFileFullName(addonName, fileName);

            if (File.Exists(fileFullName))
                File.Delete(fileFullName);
        }
    }
}
